1. Field of the Invention
The present invention relates to computing systems, and more particularly, to secured application program code execution using a memory storage device.
2. Background
Conventional computer systems typically include several functional components. These components may include a central processing unit (CPU), main memory, input/output (“I/O”) devices, and disk drives. In conventional systems, the main memory is coupled to the CPU via a system bus or a local memory bus. The main memory is used to provide the CPU access to data and/or program information that is stored in main memory at execution time. Typically, the main memory is composed of random access memory (RAM) circuits. A computer system with the CPU and main memory is often referred to as a host system.
Host computing systems execute various types of application programs. Application program means computer code that runs on a host system from a host run time environment. Application programs include computer games, business applications (for example, Excel®, Word® and others) and other types of personal and business applications. The application may be pre-loaded on a storage device (disk drives and others) or downloaded from a remote site before execution time. The host CPU typically executes application programs after it loads an executable file into the main memory.
In conventional systems, application program execution is inadequately protected. One approach has been to use hardware “dongles” to prevent unauthorized application program code execution. The dongle approach is expensive since it requires additional hardware and the dongle does not actively participate in the overall program code execution.
Another conventional approach is to use passwords and other identifiers to provide access to application programs. This approach is ineffective if the password is compromised.
Therefore, there is a need for a method and system to secure application program code execution.